package com.wcs.exam.controller.admin.req;

import java.io.Serializable;
import java.io.Serial;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * Admin-试题信息-分页请求参数
 * </p>
 *
 * @author wcs
 * @since 2025-03-11
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(description = "Admin-试题信息-分页请求参数")
public class AdminQuestionPageReq implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "目录ID")
    private Long categoryId;

    @Schema(description = "是否只查询当前目录下的试题(false:否、true：是)")
    private Boolean onlyCurrentCategory;

    @Schema(description = "难度等级(1:简单、2:一般、3:困难)")
    private Integer difficultyLevel;

    @Schema(description = "题目类型(1:单选题、2:多选题、3:判断题、4:填空题、5:简答题)")
    private Integer questionType;

    @Schema(description = "题目内容")
    private String questionTitle;

    @Schema(description = "题目答案")
    private String questionAnswer;

    @Schema(description = "题目解析")
    private String questionAnalysis;

    @Schema(description = "状态")
    private Integer status;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Schema(description = "开始创建时间(格式：yyyy-MM-dd HH:mm)")
    private LocalDateTime beginGmtCreate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "结束创建时间(格式：yyyy-MM-dd HH:mm)")
    private LocalDateTime endGmtCreate;

    @Schema(description = "排除的ID列表")
    private List<Long> excludeIds;

    @Schema(description = "当前页")
    private Long pageCurrent = 1L;

    @Schema(description = "每页条数")
    private Long pageSize = 20L;

}
